package com.one.group.service;


import com.mybatisflex.core.service.IService;
import com.one.group.model.dto.RoleQueryDto;
import com.one.group.model.dto.UpdateRoleMenuDto;
import com.one.group.model.dto.UpdateRolePermissionDto;
import com.one.group.model.entity.Role;
import com.one.group.model.vo.RoleListVo;

import java.util.List;

/**
 * {@code @Create:}  2025-09-28  12 : 53
 * {@code @Author:} Cherry
 * {@code @ToUser:} 凡是发生,皆有利于我。
 * ------------------------------------
 * {@code @note:}
 */
public interface RoleService extends IService<Role> {

    /**
     * 角色列表查询
     * @param roleQueryDto
     * @return
     */
    List<RoleListVo> findRoleByQueryDto(RoleQueryDto roleQueryDto);


    /**
     * 修改角色的权限
     * @param updateRolePermissionDto
     */
    void updateRolePermission(UpdateRolePermissionDto updateRolePermissionDto);



    /**
     * 根据管理员id查询对应角色
     * @param adminId
     * @return
     */
    List<Role> findRoleByAdminId(Long adminId);


    /**
     * 修改角色菜单
     * @param updateRoleMenuDto
     */
    void updateRoleMenu(UpdateRoleMenuDto updateRoleMenuDto);

    List<String> findPermissionByAdminId(Long adminId);
}
